package com.xiaoluo.lottery.common.weixin.base;

/**
 * Project : lottery
 * Package : main.java.com.xiaoluo.lottery.common.weixin.pay.constant
 * Created by Willian.
 * Date  : 2016/4/6 14:33.
 */
public class ReturnCode {

    public final static String SUCCESS                  = "SUCCESS";
    public final static String FAIL                     ="FAIL";                    //
    public final static String NOAUTH	                ="NOAUTH";              //商户无此接口权限	商户未开通此接口权限	请商户前往申请此接口权限
    public final static String NOTENOUGH	            ="NOTENOUGH";       //余额不足	用户帐号余额不足	用户帐号余额不足，请用户充值或更换支付卡后再支付
    public final static String ORDERPAID	            ="ORDERPAID";       //商户订单已支付	商户订单已支付，无需重复操作	商户订单已支付，无需更多操作
    public final static String ORDERCLOSED	            ="ORDERCLOSED";     //订单已关闭	当前订单已关闭，无法支付	当前订单已关闭，请重新下单
    public final static String SYSTEMERROR	            ="SYSTEMERROR";     //系统错误	系统超时	系统异常，请用相同参数重新调用
    public final static String APPID_NOT_EXIST	        ="APPID_NOT_EXIST";//APPID不存在	参数中缺少APPID	请检查APPID是否正确
    public final static String MCHID_NOT_EXIST	        ="MCHID_NOT_EXIST";//MCHID不存在	参数中缺少MCHID	请检查MCHID是否正确
    public final static String APPID_MCHID_NOT_MATCH	="APPID_MCHID_NOT_MATCH";//appid和mch_id不匹配	appid和mch_id不匹配	请确认appid和mch_id是否匹配
    public final static String LACK_PARAMS	            ="LACK_PARAMS";     //缺少参数	缺少必要的请求参数	请检查参数是否齐全
    public final static String OUT_TRADE_NO_USED	    ="OUT_TRADE_NO_USED";//商户订单号重复	同一笔交易不能多次提交	请核实商户订单号是否重复提交
    public final static String SIGNERROR	            ="SIGNERROR";       //签名错误	参数签名结果不正确	请检查签名参数和方法是否都符合签名算法要求
    public final static String XML_FORMAT_ERROR	        ="XML_FORMAT_ERROR";//XML格式错误	XML格式错误	请检查XML参数格式是否正确
    public final static String REQUIRE_POST_METHOD	    ="REQUIRE_POST_METHOD";//请使用post方法	未使用post传递参数 	请检查请求参数是否通过post方法提交
    public final static String POST_DATA_EMPTY	        ="POST_DATA_EMPTY";//post数据为空	post数据不能为空	请检查post数据是否为空
    public final static String NOT_UTF8	                ="NOT_UTF8";        //编码格式错误	未使用指定编码格式	请使用NOT_UTF8编码格式
    public final static String ORDERNOTEXIST            ="ORDERNOTEXIST";//	此交易订单号不存在	查询系统中不存在此交易订单号	该API只能查提交支付交易返回成功的订单，请商户检查需要查询的订单号是否正确

    public final static String USER_ACCOUNT_ABNORMAL	="USER_ACCOUNT_ABNORMAL";//退款请求失败	用户帐号异常或注销	此状态代表退款申请失败，商户可自行处理退款。
    public final static String INVALID_TRANSACTIONID	="INVALID_TRANSACTIONID";//无效transaction_id	请求参数未按指引进行填写	请求参数错误，检查原交易号是否存在或发起支付交易接口返回失败
    /**
     发放金额、最小金额、最大金额必须相等	请求的金额相关字段填写错误	按文档要求填写正确的金额后重试
     红包金额参数错误	红包金额过大	修改金额重试
     appid字段必填,最长为32个字符	请求的appid字段填写错误	填写正确的appid后重试
     订单号字段必填,最长为28个字符	请求的mch_billno字段填写错误	填写正确的billno后重试
     client_ip必须是合法的IP字符串	请求的client_ip填写不正确	填写正确的IP后重试
     输入的商户号有误	请求的mchid字段非法（或者没填）	填写对应的商户号再重试
     找不到对应的商户号	请求的mchid字段填写错误	填写正确的mchid字段后重试
     nick_name字段必填，并且少于16字符	请求的nick_name字段错误	按文档填写正确的nick_name后重试
     nonce_str字段必填,并且少于32字符	请求的nonce_str字段填写不正确	按文档要求填写正确的nonce_str值后重试
     re_openid字段为必填并且少于32个字符	请求的re_openid字段非法	填写对re_openid后重试
     remark字段为必填,并且少于256字符	请求的remark字段填写错误	填写正确的remark后重试
     send_name字段为必填并且少于32字符	请求的send_name字段填写不正确	按文档填写正确的send_name字段后重试
     total_num必须为1	total_num字段值不为1	修改total_num值为1后重试
     wishing字段为必填,并且少于128个字符	缺少wishing字段	填写wishing字段再重试
     商户号和wxappid不匹配	商户号和wxappid不匹配	请修改Mchid或wxappid参数
     */
    public final static String PARAM_ERROR	            ="PARAM_ERROR";//参数错误	请求参数未按指引进行填写	请求参数错误，请重新检查再调用退款申请

    /**红包错误码**/
    public final static String  NO_AUTH       ="NO_AUTH";                   //发放失败，此请求可能存在风险，已被微信拦截	用户账号异常，被拦截	请提醒用户检查自身帐号是否异常。使用常用的活跃的微信号可避免这种情况。
    public final static String  SENDNUM_LIMIT ="SENDNUM_LIMIT";             //该用户今日领取红包个数超过限制	该用户今日领取红包个数超过你在微信支付商户平台配置的上限	如有需要、请在微信支付商户平台【api安全】中重新配置 【每日同一用户领取本商户红包不允许超过的个数】。
    public final static String  ILLEGAL_APPID ="ILLEGAL_APPID";             //非法appid，请确认是否为公众号的appid，不能为APP的appid	错误传入了app的appid	接口传入的所有appid应该为公众号的appid（在mp.weixin.qq.com申请的），不能为APP的appid（在open.weixin.qq.com申请的）。
    public final static String  MONEY_LIMIT   ="MONEY_LIMIT";               //红包金额发放限制	发送红包金额不再限制范围内	每个红包金额必须大于1元，小于200元（可联系微信支付wxhongbao@tencent.com申请调高额度）
    public final static String  SEND_FAILED   ="SEND_FAILED";               //红包发放失败,请更换单号再重试	该红包已经发放失败	如果需要重新发放，请更换单号再发放
    public final static String  FATAL_ERROR   ="FATAL_ERROR";               //openid和原始单参数不一致	更换了openid，但商户单号未更新	请商户检查代码实现逻辑
    public final static String  CA_ERROR	  ="CA_ERROR";                  //CA证书出错，请登录微信支付商户平台下载证书	请求携带的证书出错	到商户平台下载证书，请求带上证书后重试
    /**
     1、没有使用商户平台设置的商户API密钥进行加密（有可能之前设置过密钥，后来被修改了，没有使用新的密钥进行加密）。
     2、加密前没有按照文档进行参数排序（可参考文档）
     3、把值为空的参数也进行了签名。可到（http://mch.weixin.qq.com/wiki/tools/signverify/ ）验证。
     4、如果以上3步都没有问题，把请求串中(post的数据）里面中文都去掉，换成英文，试下，看看是否是编码问题。（post的数据要求是utf8）
     1. 到商户平台重新设置新的密钥后重试
     2. 检查请求参数把空格去掉重试
     3. 中文不需要进行encode，使用CDATA
     4. 按文档要求生成签名后再重试
     在线签名验证工具：http://mch.weixin.qq.com/wiki/tools/signverify/
     */
    public final static String  SIGN_ERROR  = "SIGN_ERROR";//签名错误
    public final static String  XML_ERROR   = "XML_ERROR";//输入xml参数格式错误	请求的xml格式错误，或者post的数据为空	检查请求串，确认无误后重试
    public final static String  FREQ_LIMIT  = "FREQ_LIMIT";//超过频率限制,请稍后再试	受频率限制	请对请求做频率控制（可联系微信支付wxhongbao@tencent.com申请调高）
    public final static String  OPENID_ERROR= "OPENID_ERROR";//openid和appid不匹配	openid和appid不匹配	发红包的openid必须是本appid下的openid

}
